package com.wicket.okrframework.web.contorller;

import com.github.pagehelper.Page;
import com.wicket.okrframework.biz.service.OrgService;
import com.wicket.okrframework.biz.service.dto.req.*;
import com.wicket.okrframework.biz.service.dto.res.*;
import com.wicket.okrframework.common.ro.OkrResult;
import com.wicket.okrframework.common.util.CommonFunctionHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/base/org/")
public class OrgController {

    @Autowired
    OrgService orgService;

    /**
   * D1-3查询部门树状结构列表	
   */
    @PostMapping("queryDeptTreeList")
    public OkrResult<QueryDeptTreeListRespDto> queryDeptTreeList(@RequestBody @Validated QueryDeptTreeListReqDto reqDTO){
    return OkrResult.success(orgService.queryDeptTreeList(reqDTO));
    }

    /**
   * D1-3新增部门
   */
    @PostMapping("addDept")
    public OkrResult<AddDeptRespDto> addDept(@RequestBody @Validated AddDeptReqDto reqDTO){
    return OkrResult.success(orgService.addDept(reqDTO));
    }

    /**
   * D1-2查一级部门详情(边界)
   */
    @PostMapping("queryOneLevelDeptDetailBorder")
    public OkrResult<QueryOneLevelDeptDetailBorderRespDto> queryOneLevelDeptDetailBorder(@RequestBody @Validated QueryOneLevelDeptDetailBorderReqDto reqDTO){
    return OkrResult.success(orgService.queryOneLevelDeptDetailBorder(reqDTO));
    }

    /**
   * D1-3修改组织
   */
    @PostMapping("updateOrg")
    public OkrResult<UpdateOrgRespDto> updateOrg(@RequestBody @Validated UpdateOrgReqDto reqDTO){
    return OkrResult.success(orgService.updateOrg(reqDTO));
    }

    /**
   * D1-3删除部门
   */
    @PostMapping("deleteDept")
    public OkrResult<DeleteDeptRespDto> deleteDept(@RequestBody @Validated DeleteDeptReqDto reqDTO){
    return OkrResult.success(orgService.deleteDept(reqDTO));
    }

    /**
   * D1-2查中基层部门详情(边界)
   */
    @PostMapping("queryMidBaseCourseDetailBorder")
    public OkrResult<QueryMidBaseCourseDetailBorderRespDto> queryMidBaseCourseDetailBorder(@RequestBody @Validated QueryMidBaseCourseDetailBorderReqDto reqDTO){
    return OkrResult.success(orgService.queryMidBaseCourseDetailBorder(reqDTO));
    }

    /**
   * D1-3查询部门树状结构列表（管理）
   */
    @PostMapping("queryMgtDeptTreeList")
    public OkrResult<QueryMgtDeptTreeListRespDto> queryMgtDeptTreeList(@RequestBody @Validated QueryMgtDeptTreeListReqDto reqDTO){
    return OkrResult.success(orgService.queryMgtDeptTreeList(reqDTO));
    }

    /**
   * D1-3批量查询组织列表
   */
    @PostMapping("batchQueryOrgListBorder")
    public OkrResult<BatchQueryOrgListBorderRespDto> batchQueryOrgListBorder(@RequestBody @Validated BatchQueryOrgListBorderReqDto reqDTO){
    return OkrResult.success(orgService.batchQueryOrgListBorder(reqDTO));
    }


    /**
   * D1-3查询树状结构下级部门列表（边界）
   */
    @PostMapping("querySubordinateDeptTreeList")
    public OkrResult<QuerySubordinateDeptTreeListRespDto> querySubordinateDeptTreeList(@RequestBody @Validated QuerySubordinateDeptTreeListReqDto reqDTO){
    return OkrResult.success(orgService.querySubordinateDeptTreeList(reqDTO));
    }

    /**
   * D1-3查询组织列表
   */
    @PostMapping("queryOrgList")
    public OkrResult<QueryOrgListRespDto> queryOrgList(@RequestBody @Validated QueryOrgListReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QueryOrgListRespDto retData = orgService.queryOrgList(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);
    
    }

    /**
   * D1-3存档部门
   */
    @PostMapping("archiveDept")
    public OkrResult<ArchiveDeptRespDto> archiveDept(@RequestBody @Validated ArchiveDeptReqDto reqDTO){
    return OkrResult.success(orgService.archiveDept(reqDTO));
    }

    /**
     * D1-3查询部门列表
     */
    @PostMapping("queryDeptList")
    public OkrResult<QueryDeptListRespDto> queryDeptList(@RequestBody @Validated QueryDeptListReqDto reqDTO) {
        Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(), reqDTO.getPageSize());

        QueryDeptListRespDto retData = orgService.queryDeptList(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);

    }

    /**
   * D1-3修改部门
   */
    @PostMapping("updateDept")
    public OkrResult<UpdateDeptRespDto> updateDept(@RequestBody @Validated UpdateDeptReqDto reqDTO){
    return OkrResult.success(orgService.updateDept(reqDTO));
    }

    /**
   * D1-3查询部门详情
   */
    @PostMapping("queryDeptDetail")
    public OkrResult<QueryDeptDetailRespDto> queryDeptDetail(@RequestBody @Validated QueryDeptDetailReqDto reqDTO){
    return OkrResult.success(orgService.queryDeptDetail(reqDTO));
    }

    /**
   * D1-3查部门列表(公共)
   */
    @PostMapping("queryDeptListCom")
    public OkrResult<QueryDeptListComRespDto> queryDeptListCom(@RequestBody @Validated QueryDeptListComReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QueryDeptListComRespDto retData = orgService.queryDeptListCom(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);
    
    }
/**
   * D1-3判断管理模式权限(管理)
   */
    @PostMapping("judgeMgtPower")
    public OkrResult<JudgeMgtPowerRespDto> judgeMgtPower(@RequestBody @Validated JudgeMgtPowerReqDto reqDTO){
    return OkrResult.success(orgService.judgeMgtPower(reqDTO));
    }

/**
   * D1-3查询组织详情(公共)
   */
    @PostMapping("queryOrgDetailCom")
    public OkrResult<QueryOrgDetailComRespDto> queryOrgDetailCom(@RequestBody @Validated QueryOrgDetailComReqDto reqDTO){
    return OkrResult.success(orgService.queryOrgDetailCom(reqDTO));
    }
/**
   * D1-3判断进入部门管理模式权限(管理)
   */
    @PostMapping("judgeEnterDeptMgtPower")
    public OkrResult<JudgeEnterDeptMgtPowerRespDto> judgeEnterDeptMgtPower(@RequestBody @Validated JudgeEnterDeptMgtPowerReqDto reqDTO){
    return OkrResult.success(orgService.judgeEnterDeptMgtPower(reqDTO));
    }

    /**
   * D1-3查询最高组织详情
   */
    @PostMapping("querySupremeOrgDetail")
    public OkrResult<QuerySupremeOrgDetailRespDto> querySupremeOrgDetail(@RequestBody @Validated QuerySupremeOrgDetailReqDto reqDTO){
    return OkrResult.success(orgService.querySupremeOrgDetail(reqDTO));
    }

    /**
   * D1查询一级部门权限管理入口
   */
    @PostMapping("queryFirstDeptPowerManagePortalDetail")
    public OkrResult<QueryFirstDeptPowerManagePortalDetailRespDto> queryFirstDeptPowerManagePortalDetail(@RequestBody @Validated QueryFirstDeptPowerManagePortalDetailReqDto reqDTO){
    return OkrResult.success(orgService.queryFirstDeptPowerManagePortalDetail(reqDTO));
    }
/**
   * D1-3更新组织成员检查项状态等(公共)
   */
    @PostMapping("refreshOrgMemberCheckItemEtcCom")
    public OkrResult<RefreshOrgMemberCheckItemEtcComRespDto> refreshOrgMemberCheckItemEtcCom(@RequestBody @Validated RefreshOrgMemberCheckItemEtcComReqDto reqDTO){
    return OkrResult.success(orgService.refreshOrgMemberCheckItemEtcCom(reqDTO));
    }
/**
   * D1-3批量查询部门列表	
   */
    @PostMapping("batchQueryDeptList")
    public OkrResult<BatchQueryDeptListRespDto> batchQueryDeptList(@RequestBody @Validated BatchQueryDeptListReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        BatchQueryDeptListRespDto retData = orgService.batchQueryDeptList(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);
    
    }
/**
   * D1-3批量查部门(公共)(边界)
   */
    @PostMapping("batchQueryDeptComBorder")
    public OkrResult<BatchQueryDeptComBorderRespDto> batchQueryDeptComBorder(@RequestBody @Validated BatchQueryDeptComBorderReqDto reqDTO){
    return OkrResult.success(orgService.batchQueryDeptComBorder(reqDTO));
    }
/**
   * D1-3查询部门详情(公共)(边界)
   */
    @PostMapping("queryDeptDetailComBorder")
    public OkrResult<QueryDeptDetailComBorderRespDto> queryDeptDetailComBorder(@RequestBody @Validated QueryDeptDetailComBorderReqDto reqDTO){
    return OkrResult.success(orgService.queryDeptDetailComBorder(reqDTO));
    }

    /**
   * D1-3更新组织管理检查项状态等
   */
    @PostMapping("refreshOrgMgtCheckItemEtc")
    public OkrResult<RefreshOrgMgtCheckItemEtcRespDto> refreshOrgMgtCheckItemEtc(@RequestBody @Validated RefreshOrgMgtCheckItemEtcReqDto reqDTO){
    return OkrResult.success(orgService.refreshOrgMgtCheckItemEtc(reqDTO));
    }

    /**
   * D1-3查询直属一级部门(公共)
   */
    @PostMapping("queryDirectlyUnderOneLevelDeptDetailCom")
    public OkrResult<QueryDirectlyUnderOneLevelDeptDetailComRespDto> queryDirectlyUnderOneLevelDeptDetailCom(@RequestBody @Validated QueryDirectlyUnderOneLevelDeptDetailComReqDto reqDTO){
    return OkrResult.success(orgService.queryDirectlyUnderOneLevelDeptDetailCom(reqDTO));
    }


    /**
   * D1-3修改组织当前管理对象类型等
   */
    @PostMapping("updateOrgPresentMgtObjType")
    public OkrResult<UpdateOrgPresentMgtObjTypeRespDto> updateOrgPresentMgtObjType(@RequestBody @Validated UpdateOrgPresentMgtObjTypeReqDto reqDTO){
    return OkrResult.success(orgService.updateOrgPresentMgtObjType(reqDTO));
    }
/**
   * D1计算部门层级加一(公共)
   */
    @PostMapping("calculateDeptLevelPlusOneCom")
    public OkrResult<CalculateDeptLevelPlusOneComRespDto> calculateDeptLevelPlusOneCom(@RequestBody @Validated CalculateDeptLevelPlusOneComReqDto reqDTO){
    return OkrResult.success(orgService.calculateDeptLevelPlusOneCom(reqDTO));
    }
/**
   * D1-3判断新增部门操作可用(公共)
   */
    @PostMapping("judgeAddDeptUsableCom")
    public OkrResult<JudgeAddDeptUsableComRespDto> judgeAddDeptUsableCom(@RequestBody @Validated JudgeAddDeptUsableComReqDto reqDTO){
    return OkrResult.success(orgService.judgeAddDeptUsableCom(reqDTO));
    }
/**
   * D1-3判断修改部门操作可用(公共)
   */
    @PostMapping("judgeUpdateUsableCom")
    public OkrResult<JudgeUpdateUsableComRespDto> judgeUpdateUsableCom(@RequestBody @Validated JudgeUpdateUsableComReqDto reqDTO){
    return OkrResult.success(orgService.judgeUpdateUsableCom(reqDTO));
    }
/**
   * D1-3查询下级部门树状结构(公共)(边界)
   */
    @PostMapping("querySubordinateDeptTreeListComBorder")
    public OkrResult<QuerySubordinateDeptTreeListComBorderRespDto> querySubordinateDeptTreeListComBorder(@RequestBody @Validated QuerySubordinateDeptTreeListComBorderReqDto reqDTO){
    return OkrResult.success(orgService.querySubordinateDeptTreeListComBorder(reqDTO));
    }
/**
   * D1-3查询下级直属部门列表
   */
    @PostMapping("querySubordinateDirectlyDeptList")
    public OkrResult<QuerySubordinateDirectlyDeptListRespDto> querySubordinateDirectlyDeptList(@RequestBody @Validated QuerySubordinateDirectlyDeptListReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QuerySubordinateDirectlyDeptListRespDto retData = orgService.querySubordinateDirectlyDeptList(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);
    
    }
/**
   * D1-3查询部门设置详情(管理)
   */
    @PostMapping("queryDeptSetDetail")
    public OkrResult<QueryDeptSetDetailRespDto> queryDeptSetDetail(@RequestBody @Validated QueryDeptSetDetailReqDto reqDTO){
    return OkrResult.success(orgService.queryDeptSetDetail(reqDTO));
    }
/**
   * D1-3查询部门边界(公共)
   */
    @PostMapping("queryDeptBorderDetailCom")
    public OkrResult<QueryDeptBorderDetailComRespDto> queryDeptBorderDetailCom(@RequestBody @Validated QueryDeptBorderDetailComReqDto reqDTO){
    return OkrResult.success(orgService.queryDeptBorderDetailCom(reqDTO));
    }
/**
   * D1-3批量查询责任主体部门
   */
    @PostMapping("batchQueryDutyBodyDept")
    public OkrResult<BatchQueryDutyBodyDeptRespDto> batchQueryDutyBodyDept(@RequestBody @Validated BatchQueryDutyBodyDeptReqDto reqDTO){
    return OkrResult.success(orgService.batchQueryDutyBodyDept(reqDTO));
    }
/**
   * D1-3类型字典查部门树状结构列表
   */
    @PostMapping("queryTypeFieldQueryDeptTreeTreeList")
    public OkrResult<QueryTypeFieldQueryDeptTreeTreeListRespDto> queryTypeFieldQueryDeptTreeTreeList(@RequestBody @Validated QueryTypeFieldQueryDeptTreeTreeListReqDto reqDTO){
    return OkrResult.success(orgService.queryTypeFieldQueryDeptTreeTreeList(reqDTO));
    }
/**
   * D1-3部门ID查直属部门列表
   */
    @PostMapping("querySuperiorDeptDirectlyDeptList")
    public OkrResult<QuerySuperiorDeptDirectlyDeptListRespDto> querySuperiorDeptDirectlyDeptList(@RequestBody @Validated QuerySuperiorDeptDirectlyDeptListReqDto reqDTO){
    return OkrResult.success(orgService.querySuperiorDeptDirectlyDeptList(reqDTO));
    }
/**
   * D1-3类型字典查直属部门列表
   */
    @PostMapping("queryTypeFieldDirectlyDeptList")
    public OkrResult<QueryTypeFieldDirectlyDeptListRespDto> queryTypeFieldDirectlyDeptList(@RequestBody @Validated QueryTypeFieldDirectlyDeptListReqDto reqDTO){
    return OkrResult.success(orgService.queryTypeFieldDirectlyDeptList(reqDTO));
    }
/**
   * D1-3部门ID查部门树状结构
   */
    @PostMapping("querySuperiorDeptQueryDeptTreeTreeList")
    public OkrResult<QuerySuperiorDeptQueryDeptTreeTreeListRespDto> querySuperiorDeptQueryDeptTreeTreeList(@RequestBody @Validated QuerySuperiorDeptQueryDeptTreeTreeListReqDto reqDTO){
    return OkrResult.success(orgService.querySuperiorDeptQueryDeptTreeTreeList(reqDTO));
    }
/**
   * D1-3查询下级直属部门详情(公共)
   */
    @PostMapping("querySubordinateDirectlyDeptDetailCom")
    public OkrResult<QuerySubordinateDirectlyDeptDetailComRespDto> querySubordinateDirectlyDeptDetailCom(@RequestBody @Validated QuerySubordinateDirectlyDeptDetailComReqDto reqDTO){
    return OkrResult.success(orgService.querySubordinateDirectlyDeptDetailCom(reqDTO));
    }
/**
   * D1判断组织架构维护状态
   */
    @PostMapping("judgeOrgMaintenanceStatus")
    public OkrResult<JudgeOrgMaintenanceStatusRespDto> judgeOrgMaintenanceStatus(@RequestBody @Validated JudgeOrgMaintenanceStatusReqDto reqDTO){
    return OkrResult.success(orgService.judgeOrgMaintenanceStatus(reqDTO));
    }
/**
   * D1-3执行一级部门判断(公共)
   */
    @PostMapping("implementFirstDeptJudgeCom")
    public OkrResult<ImplementFirstDeptJudgeComRespDto> implementFirstDeptJudgeCom(@RequestBody @Validated ImplementFirstDeptJudgeComReqDto reqDTO){
    return OkrResult.success(orgService.implementFirstDeptJudgeCom(reqDTO));
    }
/**
   * D1查询组织列表(公共)
   */
    @PostMapping("queryOrgListCom")
    public OkrResult<QueryOrgListComRespDto> queryOrgListCom(@RequestBody @Validated QueryOrgListComReqDto reqDTO){
    return OkrResult.success(orgService.queryOrgListCom(reqDTO));
    }
/**
   * D1-2查询部门归属部门类型(公共)
   */
    @PostMapping("queryDeptAffiliationDeptTypeDetailCom")
    public OkrResult<QueryDeptAffiliationDeptTypeDetailComRespDto> queryDeptAffiliationDeptTypeDetailCom(@RequestBody @Validated QueryDeptAffiliationDeptTypeDetailComReqDto reqDTO){
    return OkrResult.success(orgService.queryDeptAffiliationDeptTypeDetailCom(reqDTO));
    }
/**
   * D1执行找祖先部门(公共)
   */
    @PostMapping("implementAncestorDeptCom")
    public OkrResult<ImplementAncestorDeptComRespDto> implementAncestorDeptCom(@RequestBody @Validated ImplementAncestorDeptComReqDto reqDTO){
    return OkrResult.success(orgService.implementAncestorDeptCom(reqDTO));
    }
/**
   * D1查询下级部门列表(公共)
   */
    @PostMapping("querySubordinateDeptListCom")
    public OkrResult<QuerySubordinateDeptListComRespDto> querySubordinateDeptListCom(@RequestBody @Validated QuerySubordinateDeptListComReqDto reqDTO){
    return OkrResult.success(orgService.querySubordinateDeptListCom(reqDTO));
    }
/**
   * D1-查询最高组织详情(公共)
   */
    @PostMapping("querySupremeOrgDetailCom")
    public OkrResult<QuerySupremeOrgDetailComRespDto> querySupremeOrgDetailCom(@RequestBody @Validated QuerySupremeOrgDetailComReqDto reqDTO){
    return OkrResult.success(orgService.querySupremeOrgDetailCom(reqDTO));
    }
/**
   * D1执行分析下属部门情况(公共)
   */
    @PostMapping("implementAnalyseSubordinateDeptSituationCom")
    public OkrResult<ImplementAnalyseSubordinateDeptSituationComRespDto> implementAnalyseSubordinateDeptSituationCom(@RequestBody @Validated ImplementAnalyseSubordinateDeptSituationComReqDto reqDTO){
    return OkrResult.success(orgService.implementAnalyseSubordinateDeptSituationCom(reqDTO));
    }
/**
   * D1查询组织下部门列表(公共)
   */
    @PostMapping("queryOrgBelowDeptListCom")
    public OkrResult<QueryOrgBelowDeptListComRespDto> queryOrgBelowDeptListCom(@RequestBody @Validated QueryOrgBelowDeptListComReqDto reqDTO){
    return OkrResult.success(orgService.queryOrgBelowDeptListCom(reqDTO));
    }
/**
   * D1-执行获取组织架构系统对接部门信息(公共)
   */
    @PostMapping("implementObtainDockingDeptInfoCom")
    public OkrResult<ImplementObtainDockingDeptInfoComRespDto> implementObtainDockingDeptInfoCom(@RequestBody @Validated ImplementObtainDockingDeptInfoComReqDto reqDTO){
    return OkrResult.success(orgService.implementObtainDockingDeptInfoCom(reqDTO));
    }
/**
   * D1-执行获取组织架构系统对接员工信息(公共)
   */
    @PostMapping("implementObtainDockingPersonInfoCom")
    public OkrResult<ImplementObtainDockingPersonInfoComRespDto> implementObtainDockingPersonInfoCom(@RequestBody @Validated ImplementObtainDockingPersonInfoComReqDto reqDTO){
    return OkrResult.success(orgService.implementObtainDockingPersonInfoCom(reqDTO));
    }
/**
   * D1-循环处理部门源数据(公共)
   */
    @PostMapping("implementLoopHandleDeptSourceDataCom")
    public OkrResult<ImplementLoopHandleDeptSourceDataComRespDto> implementLoopHandleDeptSourceDataCom(@RequestBody @Validated ImplementLoopHandleDeptSourceDataComReqDto reqDTO){
    return OkrResult.success(orgService.implementLoopHandleDeptSourceDataCom(reqDTO));
    }
/**
   * D1-执行组织架构API对接部门信息(公共)
   */
    @PostMapping("implementOrgImportDeptDataByApiCom")
    public OkrResult<ImplementOrgImportDeptDataByApiComRespDto> implementOrgImportDeptDataByApiCom(@RequestBody @Validated ImplementOrgImportDeptDataByApiComReqDto reqDTO){
    return OkrResult.success(orgService.implementOrgImportDeptDataByApiCom(reqDTO));
    }
/**
   * D1-执行组织架构API对接部门信息
   */
    @PostMapping("implementOrgImportDeptDataByApi")
    public OkrResult<ImplementOrgImportDeptDataByApiRespDto> implementOrgImportDeptDataByApi(@RequestBody @Validated ImplementOrgImportDeptDataByApiReqDto reqDTO){
    return OkrResult.success(orgService.implementOrgImportDeptDataByApi(reqDTO));
    }
/**
   * D1-执行组织架构API对接员工信息
   */
    @PostMapping("implementApiDockingPersonInfo")
    public OkrResult<ImplementApiDockingPersonInfoRespDto> implementApiDockingPersonInfo(@RequestBody @Validated ImplementApiDockingPersonInfoReqDto reqDTO){
    return OkrResult.success(orgService.implementApiDockingPersonInfo(reqDTO));
    }
/**
   * D1执行清除部门主管(公共)
   */
    @PostMapping("implementClearDeptDirectorCom")
    public OkrResult<ImplementClearDeptDirectorComRespDto> implementClearDeptDirectorCom(@RequestBody @Validated ImplementClearDeptDirectorComReqDto reqDTO){
    return OkrResult.success(orgService.implementClearDeptDirectorCom(reqDTO));
    }
/**
   * D1批量查询部门(公共)
   */
    @PostMapping("batchQueryDeptCom")
    public OkrResult<BatchQueryDeptComRespDto> batchQueryDeptCom(@RequestBody @Validated BatchQueryDeptComReqDto reqDTO){
    return OkrResult.success(orgService.batchQueryDeptCom(reqDTO));
    }
/**
   * D1获取部门管理员及正副职(公共)
   */
    @PostMapping("obtainDeptAdminAndDeputyCom")
    public OkrResult<ObtainDeptAdminAndDeputyComRespDto> obtainDeptAdminAndDeputyCom(@RequestBody @Validated ObtainDeptAdminAndDeputyComReqDto reqDTO){
    return OkrResult.success(orgService.obtainDeptAdminAndDeputyCom(reqDTO));
    }
/**
   * D1查部门管理员及正副职(公共)
   */
    @PostMapping("queryDeptAdminAndDeputyListCom")
    public OkrResult<QueryDeptAdminAndDeputyListComRespDto> queryDeptAdminAndDeputyListCom(@RequestBody @Validated QueryDeptAdminAndDeputyListComReqDto reqDTO){
    return OkrResult.success(orgService.queryDeptAdminAndDeputyListCom(reqDTO));
    }
/**
   * D1-查询部门列表ByCode(公共)
   */
    @PostMapping("queryDeptByCodeListCom")
    public OkrResult<QueryDeptByCodeListComRespDto> queryDeptByCodeListCom(@RequestBody @Validated QueryDeptByCodeListComReqDto reqDTO){
    return OkrResult.success(orgService.queryDeptByCodeListCom(reqDTO));
    }
/**
   * D1执行设备获取组织个人信息(公共)
   */
    @PostMapping("implementDeviceAcquisitionOrgPersonalInfoCom")
    public OkrResult<ImplementDeviceAcquisitionOrgPersonalInfoComRespDto> implementDeviceAcquisitionOrgPersonalInfoCom(@RequestBody @Validated ImplementDeviceAcquisitionOrgPersonalInfoComReqDto reqDTO){
    return OkrResult.success(orgService.implementDeviceAcquisitionOrgPersonalInfoCom(reqDTO));
    }
/**
   * D1-2查询中基层部门详情(公共)
   */
    @PostMapping("queryMidBaseCourseDetailCom")
    public OkrResult<QueryMidBaseCourseDetailComRespDto> queryMidBaseCourseDetailCom(@RequestBody @Validated QueryMidBaseCourseDetailComReqDto reqDTO){
    return OkrResult.success(orgService.queryMidBaseCourseDetailCom(reqDTO));
    }
/**
   * D1获取就职部门的业务身份(公共)
   */
    @PostMapping("obtainAssumeDeptBusinessIdentityCom")
    public OkrResult<ObtainAssumeDeptBusinessIdentityComRespDto> obtainAssumeDeptBusinessIdentityCom(@RequestBody @Validated ObtainAssumeDeptBusinessIdentityComReqDto reqDTO){
    return OkrResult.success(orgService.obtainAssumeDeptBusinessIdentityCom(reqDTO));
    }
/**
   * D1-3批量查询一级部门(公共)
   */
    @PostMapping("batchQueryOneLevelDeptCom")
    public OkrResult<BatchQueryOneLevelDeptComRespDto> batchQueryOneLevelDeptCom(@RequestBody @Validated BatchQueryOneLevelDeptComReqDto reqDTO){
    return OkrResult.success(orgService.batchQueryOneLevelDeptCom(reqDTO));
    }
/**
   * D1模糊查部门列表(公共)
   */
    @PostMapping("queryLikeDeptCom")
    public OkrResult<QueryLikeDeptComRespDto> queryLikeDeptCom(@RequestBody @Validated QueryLikeDeptComReqDto reqDTO){
    return OkrResult.success(orgService.queryLikeDeptCom(reqDTO));
    }
/**
   * D1查询本级及下级部门列表(公共)
   */
    @PostMapping("queryCurrentAndSubDeptListCom")
    public OkrResult<QueryCurrentAndSubDeptListComRespDto> queryCurrentAndSubDeptListCom(@RequestBody @Validated QueryCurrentAndSubDeptListComReqDto reqDTO){
    return OkrResult.success(orgService.queryCurrentAndSubDeptListCom(reqDTO));
    }



}
